package org.baicaixiaozhan.learncommon.util;

import java.util.List;
import java.util.Optional;

/**
 * DESC: redis lua 脚本执行器
 *
 * @since 2021-07-07
 * @author baicaixiaozhan
 */
public interface RedisScriptExecutor {

    /**
     * 执行 redis 脚本
     *
     * @param scriptName
     * @param key
     * @param args
     * @param <R>
     * @return
     */
    default <R> Optional<R> execRedisScript(String scriptName, List<String> key, Object... args) { return Optional.empty(); }

}
